Открытая платформа для создания заботливой квартиры
Собранная своими руками умная розетка позволяет:
- управлять нагрузкой по расписанию, например, что-то включить утром и выключить вечером;
- контролировать и управлять нагрузкой через интерфейс Home Assistant и дистанционно через Интернет;
- считать количество потребленной электроэнергии.
Итак, для создания умной розетки вам понадобятся:
Название | Назначение | Цена, руб. |
---|---|---|
BLE JDY-08 | Радиомодуль Bluetooth LE | 140 |
Arduino Pro Mini | Микроконтроллер для учета затраченной электроэнергии | 135 |
Hi-Link HLK PM-01 5V | Изолированный модуль питания 5В | 150 |
G3MB-202P DC-AC 5V | Твердотельное реле | 56 |
ACS758 | Модуль измерения силы тока в цепи | 190 |
Модуль измерения силы тока и реле удобно скрыть внутри розетки, чтобы недопустить случайного касания 220В. Изолированный блок питания и логику можно расположить на самой розетке, если внутри для них не осталось места.
Программируем розетку
О том как настроить Arduino IDE и подключить микроконтроллер к ПК читайте в этой коротенькой инструкции. Для компиляции программы необходимо загрузить библиотеки и добавить их в Arduino IDE через меню Sketch - Install library:
#include <jdy8.h>
#include <LowPower.h>
#include <ACSensor.h>
#define SENSOR_PIN A1
JDY8 ble(11, 7, 10); // RX, TX, Reset
ACSensor sensor(SENSOR_PIN, 40.0, 10.0); // sensor pin, ACS sensitivity (mV/A), ACS noise level (mV)
int lastValue = 1;
void setup()
{
sensor.calibrate();
ble.configure("Socket-1", 0, 1);
}
void loop()
{
// get power consumption
unsigned int watt = sensor.getWatt();
if ( lastValue != watt ) {
// send measurement
lastValue = watt;
ble.major(watt);
}
// fall a sleep
LowPower.powerDown(SLEEP_2S, ADC_OFF, BOD_OFF);
delay(100);
}
Собираем по схеме
Программируем HASS
Файл: /config/configuration.yaml
switch:
- platform: cutecare
name: Smart Socket
mac: 0C:B2:B7:3E:C3:E5
threshold: 5
pin: 2
sensor:
- platform: cutecare
scan_interval: 60
mac: 0C:B2:B7:3E:C3:E5
monitored_conditions:
- watt
name: smart_socket
Параметр "pin" позволяет указать номер пина JDY-08, с которого идет сигнал на реле.
Дополнительные материалы